package com.gump;

import com.gump.controller.*;
import com.jfinal.config.*;
import com.jfinal.kit.PropKit;
import com.jfinal.weixin.sdk.api.ApiConfigKit;
import com.oracle.tools.packager.Log;

import java.util.logging.Logger;

/**
 * Created by baidu on 16/1/27.
 */
public class Config extends JFinalConfig {

    static com.jfinal.log.Log logger = com.jfinal.log.Log.getLog(Config.class);

    /**
     * 如果生产环境配置文件存在，则优先加载该配置，否则加载开发环境配置文件
     * @param pro 生产环境配置文件
     * @param dev 开发环境配置文件
     */
    public void loadProp(String pro, String dev) {
        try {
            PropKit.use(pro);
        }
        catch (Exception e) {
            PropKit.use(dev);
        }
    }

    @Override
    public void configConstant(Constants constants) {
//        loadProp("a_little_config_pro.txt", "a_little_config.txt");
//        constants.setDevMode(PropKit.getBoolean("devMode", false));

        PropKit.use("config.txt");
        constants.setDevMode(true);

        // ApiConfigKit 设为开发模式可以在开发阶段输出请求交互的 xml 与 json 数据
        ApiConfigKit.setDevMode(constants.getDevMode());
    }

    @Override
    public void configRoute(Routes routes) {
        routes.add("/msg", WeixinMsgController.class);
        routes.add("/api", WeixinApiController.class, "/api");
        routes.add("/pay", WeixinPayController.class);
        routes.add("/hello", TestController.class);
        routes.add("/order", OrderViewController.class);
    }

    @Override
    public void configPlugin(Plugins plugins) {
        // C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
        // me.add(c3p0Plugin);

        // EhCachePlugin ecp = new EhCachePlugin();
        // me.add(ecp);

        // RedisPlugin redisPlugin = new RedisPlugin("weixin", "127.0.0.1");
        // me.add(redisPlugin);
    }

    @Override
    public void configInterceptor(Interceptors interceptors) {

    }

    @Override
    public void configHandler(Handlers handlers) {

    }
}
